import server from './server.js'
const CAR_SERVER_CONTEXT = "/mall"
const IMG_URL = "/common/image";
const WATER_IMG_URL = "/mall/common/getWatermarkImage"; // 水印图
const SMALL_IMG_URL = "/mall/common/getSmallImage"; // 小图

/**
 * 
 */
// const Request = (url, method, data, context,callback) => {
const Request = (options) => {
	let _context = options.context != null && options.context === 0 ? "" : server.carServerContext;
	let _url = ""
	if (options.context === 1) { // 图片路径请求地址
		_url = server.apiImgUrl + _context + options.url
	} else if (options.context === 2) {
		_url = server.apiImgUrl + options.url
	} else {
		_url = server.apiUrl + _context + options.url
	}
	if (options.url.indexOf("http") != -1) {
		_url = options.url;
	}
	
	// if(options.method =="PUT"||options.method=="put"){
	// 	_url = options.url + "/" +options.data;
	// 	options.data  = null;
	// }

	// return new Promise((resolve, reject) => {
	uni.request({
		url: _url,
		method: options.method,
		data: options.data,
		header: {
			'Content-Type': 'application/json',
			// 'content-type': 'application/x-www-form-urlencoded; charset=UTF-8',
			// 'cookie': wx.getStorageSync("sessionid") //默认所有请求都带上cookie
			'Authorization':wx.getStorageSync('token')?wx.getStorageSync('token'):''
		},
		success(request) {
			if (request.data.code == 1) {
				// resolve(request.data.data)
				if (options.callback) {
					//回调传入的函数
					options.callback(request.data.data);
				}
			} else{
				uni.hideLoading();
				console.log('222222')
				console.log(request)
				// 授权过期重新获取token
				if (request.data.code == 3) {
					// unLogin(Request, options);
					wx.showModal({
						title: '提示',
						content: '授权已过期，请重新登录',
						mask: true,
						showCancel:false,
						success(res) {
							wx.navigateTo({
								url:"/pages/login/login"
							})
						}
					})
				} else if(request.data.code == 0){
					wx.showModal({
						title: '提示',
						content: request.data.message,
						mask: true,
						showCancel:false,
					})
				}else {
					wx.showToast({
						icon:'none',
						content: request.data.message,
					})
				}
			}
		},
		fail(error) {
			options.callback(error);
			// options.fail(error);
			// console.log(error)
			// wx.showModal({
			// 	title: '提示',
			// 	content: error,
			// 	mask: true,
			// 	showCancel:false,
			// 	success(res) {
			// 	}
			// })
			// reject(error)
		},
		complete(aaa) {
			// 加载完成
		}
	})
	// })
}
const unLogin = (Request, options) => {
	wx.login({
		success: res => {
			if (res.errMsg == "login:ok") {
				// wx.getUserProfile({
				// 	desc: '用于完善用户资料', // 声明获取用户个人信息后的用途，后续会展示在弹窗中，请谨慎填写
				// 	success: (detail) => {
				// 		getApp().globalData.userInfo = detail.userInfo; // 储存用户信息到全局
				// 		wx.setStorageSync("wxUser", detail.userInfo); // 储存用户信息到缓存中
				// this.hasUserInfo = true;
				let datas = {
					"wxApp": "mall", //商城小程序标识
					wxLogin: 'true', //使用微信登录标志，不需要再输入用户名密码，直接可通过微信登录
					// iv: detail.iv, //公钥
					// encryptedData: detail.encryptedData, //加密的信息
					jsCode: res.code //通过wx.login获取的jsCode
				};
				// this.doLogin(data);
				wx.request({
					url: server.apiUrl + "/login", //自己的后台登录方法（即cortroller层的登录方法地址）
					method: 'POST',
					data: datas,
					header: {
						'content-type': 'application/x-www-form-urlencoded; charset=UTF-8'
					},
					success: function(res) {
						//设置cookies信息，
						wx.setStorageSync("sessionid", res.header["Set-Cookie"].split(";")[0]);
						// 去后台请求用户信息
						Request(options)
						// .then(function(resp){
						// 	getApp().globalData.userInfo = resp; // 储存用户信息到全局
						// 	wx.setStorageSync("wxUser", resp); // 储存用户信息到缓存中
						// })
					},
					fail: function() {
						wx.hideLoading()
					}
				});

				// 	}
				// })
			}
		}
	});
}

// const ImgRequest = (url, method, data) => {
// 	let _url = API_URL + url
// 	return new Promise((resolve, reject) => {
// 		uni.request({
// 			url: _url,
// 			method: method,
// 			data: data,
// 			header: {
// 				'Content-Type': 'application/json',
// 				'cookie': wx.getStorageSync("sessionid") //默认所有请求都带上cookie
// 			},
// 			success(request) {
// 				resolve(request.data)
// 			},
// 			fail(error) {
// 				reject(error)
// 			},
// 			complete(aaa) {
// 				// 加载完成
// 			}
// 		})
// 	})
// }
module.exports = {
	request: Request,
	// apiUrl: API_URL,
	// imgUrl: IMG_URL,
	// // imgRequest: ImgRequest,
	// waterImgUrl: WATER_IMG_URL,
	// apiImgUrl: API_IMG_URL,
	// smallImgUrl: SMALL_IMG_URL
}
// export default request
